Un manuel pour les compétiteurs

par

Caesum

(A Challengers Handbook - Site original : http://www.caesum.com)
(Version française par CommComm avec l'aimable autorisation de Caesum - Cronos - 04 mars 2006)

Caesum

Codes

Vous avez souvent remarqué que les challenges que vous retrouvez toujours le même type d'épreuves. Un des codes les plus fréquemment utilisés dans tous les challenges est le code morse. Les points et les traits peuvent être considérés comme étant des signaux sonores courts ou longs, ou encore comme des zéros des uns. Il arrive souvent que ces signes soient séparés par d'autres caractères ou un bruit, ce qui permet de différencier les caractères et les mots. L'alphabet se présente ainsi :

A   .-
B   -...
C   -.-.
D   -..
E   .
F   ..-.
G   --.
H   ....
I   ..
J   .---
K   -.-
L   .-..
M   --
N   -.
O   ---
P   .--.
Q   --.-
R   .-.
S   ...
T   -
U   ..-
V   ...-
W   .--
X   -..-
Y   -.--
Z   --..
0   -----
1   .----
2   ..---
3   ...--
4   ....-
5   .....
6   -....
7   --...
8   ---..
9   ----.
Point   .-.-.-
Virgule   --..--
Point d'interrogation   ..--..


Un autre procédé classique d'encodage utilisés dans les challenges est le base 64. En voici des exemples :

  • Y2VjaSBlc3QgZHUgYmFzZTY0
  • Y2VjaSBlc3QgZHUgYmFzZTY0Li4=
  • Y2VjaSBlc3QgZHUgYmFzZTY0Lg==

    Il y a quelques décodeurs en ligne et je vous recommanderais plutôt celui-ci. Cela dit, il ne marchait pas ce matin et j'ajouterais donc celui-ci et celui-là qui permet aussi de faire des choses comme des conversions MD5, DES, hexa, binaire, etc.

    Vous remarquerez aussi que la chaîne codée reste la même, mais que j'ai juste codé des chaînes de différentes longueurs. Ceci pour vous montrer que le résultat d'un codage en base 64 a toujours une longueur qui est un multiple de quatre. Le complément nécessaire est assuré par des caractères "=" à la fin de la chaîne codée. En conséquence, une chaîne qui se termine par "==", c'est un cadeau qui ne dit pas son nom. Une chaîne qui contient un mélange de majuscules, de minuscules et de nombres comme ci-dessus est probablement codée en base 64.


    Il faut aussi mentionner quelques codes moins utilisés, ce qui permet au moins d'avoir conscience de leur existence, comme le braille. Voici l'alphabet braille :


    Traduction du texte de l'image ci-dessus
    1 - Les six points de la cellule braille sont ainsi disposés et numérotés.
    2 - Le symbole "Capitale" (point en 6) placé devant une lettre indique une majuscule.
    3 - Le symbole numérique (points en 3, 4, 5, 6) placé devant les lettres a à j donne les chiffres de 1 à 9.
        Par exemple, un a précédé du symbole numérique correspond à 1, b à 2 etc.



    Traduction du texte de l'image ci-dessus
    symbole "Capitale" - symbole numérique - point - virgule - point d'interrogation
    point-virgule - point d'exclamation - guillemet ouvrant - guillemet fermant.

    Remarquez qu'il est possible de considérer les points du braille comme un chiffrage binaire fait de uns et de zéros, ce qui permet de dissimuler le codage original.


    De nos jours, tout le monde a un téléphone, et les codes téléphoniques sont plutôt au goût du jour. Sur un téléphone, à chaque chiffre correspondent trois ou quatre lettres : il est donc facile de transformer des lettres en chiffres. L'inverse n'est pas aussi simple. Dans un numéro de téléphone comme 43556, chaque chiffre pourrait n'importe laquelle parmi les trois lettres possibles : le 4 pourrait être le g, le h ou le i, et pareil pour les autres. Toutefois, un peu d'ingéniosité permet de deviner que 43556 = hello. La seule chose au sujet de ces codes téléphoniques, c'est qu'il semble y avoir de petites différences entre les différents téléphones ou les différents pays. Voici ce que donne le codage américain et canadien :

    Chiffre Lettres
    1 (none)
    2 A B C
    3 D E F
    4 G H I
    5 J K L
    6 M N O
    7 P Q R S
    8 T U V
    9 W X Y Z
    0 (none)
    * (none)
    # (none)

    Ça semble coller avec mon téléphone, bien que le mien n'ait ni Q ni Z pour je ne sais quelle raison.


    Jetons aussi un coup d'oeil à un autre procédé de codage, peut-être pas très bien connu de nos jours. Le sémaphore était utilisé sur les navires pour communiquer entre eux dans la marine. C'est une série de position de drapeaux qui permet de représenter chaque caractère de l'alphabet. Le voici :

    a b c d e f

    g h i j k l

    m n o p q r

    s t u v w x

    y z

    Un autre chiffrage qu'il faut mentionner est le chiffre de Bacon :

    a AAAAA g AABBA n ABBAA t BAABA
    b AAAAB h AABBB o ABBAB u-v BAABB
    c AAABA i-j ABAAA p ABBBA w BABAA
    d AAABB k ABAAB q ABBBB x BABAB
    e AABAA l ABABA r BAAAA y BABBA
    f AABAB m ABABB s BAAAB z BABBB

    Les chiffrages du type Bacon sont en général utilisé pour cacher des choses. A la base, c'est un chiffrage binaire mais qui est normalement caché au sein d'un message innocent. Par exemple, en disant qu'une minuscule correspond à A et une majuscule à B, on PEUt dOnc cHiFfrEr Un tEXtE en surcouche sur d'autres messages. Bien sûr, A et B pourraient être n'importe quoi : polices, couleurs, etc. Pensez simplement qu'un véritable codage binaire peut être présent de différentes façons, dissimulant souvent l'utilisation de l'alphabet de Bacon.


    Pour terminer, si vous êtes confronté à des caractères étranges, je vous suggère de jeter un oeil à Omniglot sur l'écriture et les alphabets. Ce site comprend une foule de polices depuis les caractères runiques jusqu'aux hiéroglyphes et de la sténo à l'alphabet de Klingon. Ce n'est pas seulement un endroit où naviguer pour le plaisir car j'ai résolu de nombreuses épreuves grâce à l'information qu'il contient.


    Retour au sommaire Crypto